{
    "name": "Java",
    "build": {
        "dockerfile": "Dockerfile",
        "args": {
            // Update the VARIANT arg to pick a Java version: 8, 11, 15
            "VARIANT": "8"
        }
    },
    // Set *default* container specific settings.json values on container create.
    "settings": {
        "terminal.integrated.shell.linux": "/bin/bash",
        "java.home": "/docker-java-home",
        "java.format.settings.url": "https://raw.githubusercontent.com/eclipse/hawkbit/master/eclipse_codeformatter.xml",
        "maven.executable.path": "/usr/local/sdkman/candidates/maven/current/bin/mvn"
    },
    // Add the IDs of extensions you want installed when the container is created.
    "extensions": [
        "vscjava.vscode-java-pack",
        "DavidAnson.vscode-markdownlint",
        "ms-azuretools.vscode-docker",
        "ms-azure-devops.azure-pipelines",
        "sonarsource.sonarlint-vscode",
        "pivotal.vscode-spring-boot",
        "vscjava.vscode-spring-boot-dashboard"
    ],
    // Use 'forwardPorts' to make a list of ports inside the container available locally.
    "forwardPorts": [
        8080
    ],
    // Use 'postCreateCommand' to run commands after the container is created.
    // "postCreateCommand": "java -version",
    // Comment out connect as root instead. More info: https://aka.ms/vscode-remote/containers/non-root.
    "remoteUser": "vscode"
}
